iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
Mobile Development

Android與Spring Boot開發學習之旅系列 第 10

開發學習之旅 Day10 - RESTful API 與 數值傳遞方法

  • 分享至 

  • xImage
  •  

RESTful API是設計用於應用程序程序接口的架構風格,基於REST原則。REST是一種軟體架構風格,定義一組約束和原則,用於創建Web服務。RESTful API已經成為Web應用程序的標準,開發者可以使用不同的編程語言和框架來實現。

RESTful API 優點:

  1. 易理解性
    開發者不需要掌握複雜的協議或技術,設計原則相對簡單,易於理解。
  2. 可擴展性
    無狀態性與統一接口的原則,使它具有更好的擴展性。可以在添加新的資源或端點時,不會影響既有的API。
  3. 獨立性
    每個請求包含足夠的信息,因此服務端不需保存客戶端的狀態。
  4. 通用性
    相容於不同的編程語言或框架可用於各種不同的應用場景。

數值傳遞

@RequestParam

  • 用於從HTTP請求中提取特定的請求參數值。
@GetMapping("/example/query")
public String exampleQuery(@RequestParam("name") String name) {
    return name;
}

https://ithelp.ithome.com.tw/upload/images/20230920/20150372gALAYF7Luc.png

@RequestBody

  • 用於將HTTP請求的Body轉換為Java對象或其他類型。
    @PostMapping("/example/body")
    public User exampleBody(@RequestBody User user){
        return user;
    }

https://ithelp.ithome.com.tw/upload/images/20230920/201503721I0s9F9PW2.png

@RequestHeader

  • 用於從HTTP請求的Headers中提取特定的標頭信息。
    @GetMapping("/example/header")
    public String getUserAgent(@RequestHeader("User-Agent") String userAgent) {
        return "User-Agent : " + userAgent;
    }

https://ithelp.ithome.com.tw/upload/images/20230920/201503724kF3tTFBsR.png

@RequestPart

  • 用於從HTTP請求中提取特定的form-data類型的數據,通常用於處理檔案的上傳。
    @PostMapping("/example/formData")
    public String exampleFormData (@RequestPart("file") MultipartFile file){
        if(!file.isEmpty()) {
            try {
                byte[] bytes = file.getBytes();
                Path path = Paths.get("./uploadedfiles/" + file.getOriginalFilename());
                Files.write(path, bytes);
                return "successful";
            } catch (Exception e) {
                return "failed";
            }
        }
        return "No uploaded";
    }

https://ithelp.ithome.com.tw/upload/images/20230920/20150372d56hQdvBjg.png

@PathVariable

  • 用於從URL中提取特定的路徑變數值。
    @GetMapping("/example/url/{name}")
    public String url(@PathVariable("name") String name){
        return name;
    }

https://ithelp.ithome.com.tw/upload/images/20230920/20150372ngChivW90f.png

RESTful風格對應資料庫操作(CRUD) :

HTTP 方法 資料庫操作 說明
Get 讀取 ( R ) 從資料庫中獲取資源的信息
Post 新增 ( C ) 向資料庫中新增新資源
PUT 更新 ( U ) 將現有資源的內容更新到資料庫
DELETE 刪除 ( D ) 從資料庫中刪除資源

表格說明不同的HTTP方法在RESTful API中常用於執行的資料庫的操作和相應說明。


上一篇
開發學習之旅 Day9 - Java Persistence API(JPA)
下一篇
開發學習之旅 Day11 - 安裝與連結PostgreSQL資料庫
系列文
Android與Spring Boot開發學習之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言